// mogry
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   float4 DirLightColors;
//   float4 DirLightDirections;
//   float4 FirstLightFlag;
//   float4 PointLightColors[2];
//   float4 PointLightParams[2];
//   float4 PointLightPositions[2];
//   sampler2D _sampler_01;
//   sampler2D _sampler_diffuseColor;
//   sampler2D _sampler_shininess;
//   sampler2D _sampler_specularColor;
//   float albedo;
//   float3 ambientColor;
//   float3 ambientLightColor;
//   float backLightEdge;
//   float colorLimit;
//   float drawEnvBlendRatio;
//   samplerCUBE drawEnvCubeMap;
//   sampler2D edgeControlFuzzColorMap;
//   float3 envMapColor;
//   float4 externalEdgeControlColor;
//   float4 externalRainDropScale;
//   float externalReflectMapScale;
//   float4 fogColor;
//   float fresnelEnvMapBias;
//   sampler2D fuzzColorMap;
//   float3 grace00;
//   float3 grace10;
//   float3 grace11;
//   float3 grace1_1;
//   float3 grace20;
//   float3 grace21;
//   float3 grace22;
//   float3 grace2_1;
//   float3 grace2_2;
//   float3 latitudeParam;
//   sampler2D lightToneMap;
//   float4 modulateColor;
//   float normalPower;
//   samplerCUBE rainChrCubeReflectMap;
//   float3 reflectivityEnvMap;
//   float reverseRatio;
//   float4 rootPos;
//   float3 scatterColor;
//   float4 shadowColor;
//   float4 shadowFadeParam;
//   sampler2D shadowMap;
//   float4 shadowOffset0[4];
//   float4 shadowOffset1[4];
//   float4 shadowProjMatrix0[4];
//   float4 shadowProjMatrix1[4];
//   float4 shadowProjMatrix2[4];
//   float4 shadowProjMatrix3[4];
//   float4 shadowSplitRange;
//   float specluarMaskingShadow;
//   float4 weatherFactorRatio;
//   float4 weatherOffset;
//   sampler2D weatherSampler00;
//
//
// Registers:
//
//   Name                     Reg   Size
//   ------------------------ ----- ----
//   shadowOffset0            c21      4
//   shadowOffset1            c25      4
//   PointLightPositions      c29      2
//   PointLightColors         c31      2
//   PointLightParams         c33      2
//   shadowProjMatrix0        c35      2
//   shadowProjMatrix1        c37      2
//   shadowProjMatrix2        c39      2
//   shadowProjMatrix3        c41      2
//   ambientLightColor        c43      1
//   FirstLightFlag           c44      1
//   DirLightDirections       c45      1
//   DirLightColors           c46      1
//   backLightEdge            c47      1
//   scatterColor             c48      1
//   reverseRatio             c49      1
//   envMapColor              c50      1
//   grace00                  c51      1
//   grace1_1                 c52      1
//   grace10                  c53      1
//   grace11                  c54      1
//   grace2_2                 c55      1
//   grace2_1                 c56      1
//   grace20                  c57      1
//   grace21                  c58      1
//   grace22                  c59      1
//   shadowFadeParam          c60      1
//   shadowSplitRange         c61      1
//   shadowColor              c62      1
//   rootPos                  c63      1
//   latitudeParam            c64      1
//   ambientColor             c65      1
//   specluarMaskingShadow    c66      1
//   normalPower              c67      1
//   fogColor                 c68      1
//   drawEnvBlendRatio        c69      1
//   reflectivityEnvMap       c70      1
//   fresnelEnvMapBias        c71      1
//   colorLimit               c72      1
//   albedo                   c73      1
//   externalEdgeControlColor c74      1
//   externalReflectMapScale  c75      1
//   weatherOffset            c76      1
//   weatherFactorRatio       c77      1
//   externalRainDropScale    c78      1
//   modulateColor            c79      1
//   lightToneMap             s0       1
//   fuzzColorMap             s1       1
//   drawEnvCubeMap           s2       1
//   edgeControlFuzzColorMap  s3       1
//   _sampler_diffuseColor    s4       1
//   shadowMap                s5       1
//   _sampler_01              s6       1
//   _sampler_specularColor   s7       1
//   _sampler_shininess       s8       1
//   weatherSampler00         s9       1
//   rainChrCubeReflectMap    s10      1
//
//
// Default values:
//
//   ambientLightColor
//     c43  = { 0, 0, 0, 0 };
//
//   backLightEdge
//     c47  = { -0.8, 0, 0, 0 };
//
//   scatterColor
//     c48  = { 1, 1, 1, 0 };
//
//   reverseRatio
//     c49  = { 1, 0, 0, 0 };
//
//   latitudeParam
//     c64  = { 1, 0, 1, 0 };
//
//   ambientColor
//     c65  = { 0, 0, 0, 0 };
//
//   specluarMaskingShadow
//     c66  = { 0, 0, 0, 0 };
//
//   normalPower
//     c67  = { 1, 0, 0, 0 };
//
//   fogColor
//     c68  = { 1, 1, 1, 0 };
//
//   drawEnvBlendRatio
//     c69  = { 1, 0, 0, 0 };
//
//   reflectivityEnvMap
//     c70  = { 0.5, 0.5, 0.5, 0 };
//
//   fresnelEnvMapBias
//     c71  = { 1, 0, 0, 0 };
//
//   colorLimit
//     c72  = { 1, 0, 0, 0 };
//
//   albedo
//     c73  = { 0.5, 0, 0, 0 };
//
//   externalReflectMapScale
//     c75  = { 1, 0, 0, 0 };
//
//   weatherFactorRatio
//     c77  = { 1, 1, 1, 1 };
//
//   modulateColor
//     c79  = { 1, 1, 1, 1 };
//

    ps_3_0
    def c0, 100, 1, 0.100000001, -2
    def c1, -0.5, 0.25, 9.99999975e-005, 10
    def c2, 0, 0.429042995, 0.743125021, 0.886227012
    def c3, 0.200000003, 0.300000012, 0.400000006, -13.2877121
    def c4, 0.298999995, 0.587000012, 0.114, 0.00100000005
    def c5, 1, 0, 0.25, 0.349999994
    def c6, 9.99999997e-007, -0.5, 0.5, 0
    def c7, 0.247707993, 0.85808599, 1.02332795, -0.125
    dcl_texcoord_pp v0
    dcl_texcoord2 v1.z
    dcl_texcoord1 v2.xyz
    dcl_texcoord3 v3.xyz
    dcl_color_pp v4
    dcl_texcoord4 v5
    dcl_texcoord6_pp v6
    dcl_2d s0
    dcl_2d s1
    dcl_cube s2
    dcl_2d s3
    dcl_2d s4
    dcl_2d s5
    dcl_2d s6
    dcl_2d s7
    dcl_2d s8
    dcl_2d s9
    dcl_cube s10
    mov r0.yz, c0
    add_pp r0.x, r0.z, c61.x
    add r0.x, r0.x, -v1.z
    mul r1, c38, v2.y
    mad r1, v2.x, c36, r1
    mad r1, v2.z, c40, r1
    add r1, r1, c42
    rcp r0.z, r1.w
    mul r1.xy, r1, r0.z
    add r2.xyz, r1, c25
    mul r3, c37, v2.y
    mad r3, v2.x, c35, r3
    mad r3, v2.z, c39, r3
    add r3, r3, c41
    rcp r0.z, r3.w
    mul r3.xy, r3, r0.z
    add r4.xyz, r3, c21
    cmp r0.xzw, r0.x, r4.xyyz, r2.xyyz
    texld r2, r0.xzzw, s5
    add r0.x, -r0.w, r2.x
    cmp_pp r0.x, r0.x, c5.x, c5.y
    add r2.xyz, r1, c26
    add r4.xyz, r3, c22
    add_pp r0.z, c61.x, -v1.z
    add r5.xyz, r0.z, c3
    cmp r2.xyz, r5.x, r4, r2
    texld r4, r2, s5
    add r0.z, -r2.z, r4.x
    cmp_pp r0.z, r0.z, c5.x, c5.y
    add_pp r0.x, r0.x, r0.z
    add r2.xyz, r1, c27
    add r1.xyz, r1, c28
    add r4.xyz, r3, c23
    add r3.xyz, r3, c24
    cmp r1.xyz, r5.z, r3, r1
    cmp r2.xyz, r5.y, r4, r2
    texld r3, r2, s5
    add r0.z, -r2.z, r3.x
    cmp_pp r0.z, r0.z, c5.x, c5.y
    add_pp r0.x, r0.x, r0.z
    texld r2, r1, s5
    add r0.z, -r1.z, r2.x
    cmp_pp r0.z, r0.z, c5.x, c5.y
    add_pp r0.x, r0.x, r0.z
    mul_pp r0.z, r0.x, c1.y
    mad r0.x, r0.x, -c5.z, c5.x
    add_pp r0.w, -c60.x, v1.z
    mul_sat_pp r0.w, r0.w, c60.y
    mad_sat_pp r0.x, r0.w, r0.x, r0.z
    lrp_pp r1.x, c60.w, c60.z, r0.x
    add_pp r0.x, -r1.x, c0.y
    mad_pp r0.x, r0.x, -c62.w, r0.y
    add_pp r0.zw, r0.y, -c44.xyxy
    max_pp r1.xy, r0.x, r0.zwzw
    texld r2, v5, s8
    add_pp r0.zw, r2.xyxy, c1.x
    mad_pp r1.z, r2.z, c0.x, c0.y
    mad_pp r1.w, r0.z, -r0.z, c1.y
    mad_pp r1.w, r0.w, -r0.w, r1.w
    rsq_pp r1.w, r1.w
    rcp_pp r2.z, r1.w
    mov_pp r3.yz, c1
    max_pp r1.w, c67.x, r3.z
    mul_pp r2.xy, r0.zwzw, r1.w
    nrm_pp r4.xyz, r2
    mad_pp r2, v4, -c0.w, -c0.y
    nrm_pp r5.xyz, r2
    nrm_pp r2.xyz, v3
    mul_pp r3.xzw, r5.zyxy, r2.yyzx
    mad_pp r3.xzw, r5.yyzx, r2.zyxy, -r3
    mul_pp r5.xyz, r4.y, r5
    mul_pp r3.xzw, r2.w, r3
    mad_pp r3.xzw, r4.x, r3, r5.xyyz
    mad_pp r2.xyz, r4.z, r2, r3.xzww
    add_pp r4, -c63.xyzx, v2.xyzx
    mul_pp r3.xz, r4.wyzw, c78
    mov_pp r5.y, c78.y
    mad_pp r3.w, r4.y, r5.y, -c76.x
    texld_pp r5, r3.xwzw, s9
    texld_pp r6, r3.zwzw, s9
    lrp_pp r3.xzw, r2_abs.x, r6.xyyz, r5.xyyz
    dp3_pp r0.z, r3.xzww, r3.xzww
    rsq_pp r0.z, r0.z
    mad_pp r0.zw, r3.xyxz, r0.z, c1.x
    mad_pp r1.w, r0.z, -r0.z, c1.y
    mad_pp r1.w, r0.w, -r0.w, r1.w
    rsq_pp r1.w, r1.w
    rcp_pp r5.z, r1.w
    add_pp r1.w, c0.y, -v0.w
    mul_sat_pp r1.w, r1.w, c1.w
    add_pp r1.w, -r1.w, c0.y
    add_pp r1.w, -r1.w, c0.y
    mul_pp r1.w, r1.w, c76.w
    mul_pp r2.w, r1.w, c77.z
    max_pp r3.x, r2.w, c1.z
    mul_pp r5.xy, r0.zwzw, r3.x
    nrm_pp r6.xyz, r5
    mov r6.w, c2.x
    mad_pp r2.xyz, r2, r6.z, r6.xyww
    nrm_pp r5.xyz, r2
    add r2.xyz, -c29, v2
    dp3 r0.z, r2, r2
    rsq r0.z, r0.z
    mul_pp r2.xyz, r2, r0.z
    rcp_pp r0.z, r0.z
    dp3_pp r0.w, r5, -r2
    mul_sat_pp r2.w, r0.w, c7.w
    mad_pp r2.w, r2.w, c49.x, r0.w
    add_pp r3.x, r2.w, c0.y
    mul_pp r3.z, r1.y, r3.x
    mad r3.x, r3.x, -r1.y, r3.x
    mad_pp r3.x, r3.x, c3.x, r3.z
    add_pp r3.x, r3.x, -c0.y
    mad_pp r3.x, r3.x, -c1.x, -c1.x
    add_pp r6.x, -r3.x, c0.y
    mov r6.y, -c1.x
    texld_pp r6, r6, s0
    mul_sat_pp r3.x, r1.y, r2.w
    mov_sat_pp r2.w, -r2.w
    texld_pp r7, v5, s6
    lrp_pp r8.xyz, r7.y, r6, r3.x
    pow r3.x, r0.z, c33.z
    add_pp r0.z, -r0.z, c33.w
    max_pp r3.z, r0.z, c4.w
    mul r0.z, r3.x, c33.w
    rcp r0.z, r0.z
    mul_pp r0.z, r3.z, r0.z
    mul_pp r3.xzw, r0.z, c31.xyyz
    add_pp r0.z, -r0_abs.w, c0.y
    mov_sat_pp r0.w, r0.w
    mul_pp r0.w, r1.y, r0.w
    max_pp r5.w, r0.z, c2.x
    nrm_pp r6.xyz, v6
    mad_pp r7.xzw, r6.xyyz, c47.x, -r2.xyyz
    dp3_pp r0.z, r7.xzww, r6
    mul_sat_pp r0.z, r5.w, r0.z
    mul_pp r7.xzw, r0.z, c48.xyyz
    mul_pp r7.xzw, r3, r7
    mad_pp r7.xzw, r3, r8.xyyz, r7
    mul_pp r8.xyz, r1.y, r7.xzww
    dp3_pp r0.z, r5, -c45
    mul_sat_pp r5.w, r0.z, c7.w
    mad_pp r5.w, r5.w, c49.x, r0.z
    add_pp r6.w, r5.w, c0.y
    mul_pp r7.x, r1.x, r6.w
    mad r6.w, r6.w, -r1.x, r6.w
    mad_pp r6.w, r6.w, c3.x, r7.x
    add_pp r6.w, r6.w, -c0.y
    mad_pp r6.w, r6.w, -c1.x, -c1.x
    add_pp r9.x, -r6.w, c0.y
    mov r9.y, -c1.x
    texld_pp r9, r9, s0
    mul_sat_pp r6.w, r1.x, r5.w
    mov_sat_pp r5.w, -r5.w
    lrp_pp r10.xyz, r7.y, r9, r6.w
    add_pp r6.w, -r0_abs.z, c0.y
    mov_sat_pp r0.z, r0.z
    mul_pp r0.z, r1.x, r0.z
    max_pp r7.x, r6.w, c2.x
    mov_pp r9.x, c47.x
    mad_pp r9.xyz, r6, r9.x, -c45
    dp3_pp r6.w, r9, r6
    mul_sat_pp r6.w, r7.x, r6.w
    mul_pp r7.xzw, r6.w, c48.xyyz
    mul_pp r7.xzw, r7, c46.xyyz
    mad_pp r7.xzw, c46.xyyz, r10.xyyz, r7
    mul_pp r9.xyz, r1.x, r7.xzww
    mov r10.xyz, c4
    dp3_pp r6.w, c46, r10
    mul_pp r5.w, r5.w, r6.w
    mul_pp r5.w, r5.w, c49.x
    mul_pp r9.w, r5.w, c5.w
    dp3_pp r5.w, r3.xzww, c4
    mul_pp r2.w, r2.w, r5.w
    mul_pp r0.w, r0.w, r5.w
    mad_pp r0.z, r0.z, r6.w, r0.w
    mul_pp r0.w, r2.w, c49.x
    mul_pp r8.w, r0.w, c5.w
    add_pp r8, r8, r9
    add r7.xzw, -c30.xyyz, v2.xyyz
    dp3 r0.w, r7.xzww, r7.xzww
    rsq r0.w, r0.w
    mul_pp r7.xzw, r7, r0.w
    rcp_pp r0.w, r0.w
    dp3_pp r2.w, r5, -r7.xzww
    mul_sat_pp r5.w, r2.w, c7.w
    mad_pp r5.w, r5.w, c49.x, r2.w
    mov_sat_pp r6.w, -r5.w
    pow r9.x, r0.w, c34.z
    add_pp r0.w, -r0.w, c34.w
    max_pp r9.y, r0.w, c4.w
    mul r0.w, r9.x, c34.w
    rcp r0.w, r0.w
    mul_pp r0.w, r9.y, r0.w
    mul_pp r9.xyz, r0.w, c32
    dp3_pp r0.w, r9, c4
    mul_pp r6.w, r6.w, r0.w
    mul_pp r6.w, r6.w, c49.x
    mul_pp r11.w, r6.w, c5.w
    add_pp r6.w, -r2_abs.w, c0.y
    mov_sat_pp r2.w, r2.w
    mad_pp r0.z, r2.w, r0.w, r0.z
    max_pp r0.w, r6.w, c2.x
    mad_pp r12.xyz, r6, c47.x, -r7.xzww
    dp3_pp r2.w, r12, r6
    mul_sat_pp r0.w, r0.w, r2.w
    mul_pp r12.xyz, r0.w, c48
    mul_pp r12.xyz, r9, r12
    mad_pp r0.w, r5.w, -c1.x, -c1.x
    mov_sat_pp r5.w, r5.w
    add_pp r13.x, -r0.w, c0.y
    mov r13.y, -c1.x
    texld_pp r13, r13, s0
    lrp_pp r14.xyz, r7.y, r13, r5.w
    mul_pp r0.w, r7.y, c0.z
    mad_pp r11.xyz, r9, r14, r12
    add_pp r8, r8, r11
    add_sat_pp r2.w, -r8.w, c0.y
    dp3 r5.w, r4.yzww, r4.yzww
    rsq r5.w, r5.w
    mul r4, r4, r5.w
    mad r4, r4, -c1.x, r5.xyzx
    dp3 r5.w, r4.yzww, r4.yzww
    rsq r5.w, r5.w
    mul_pp r4, r4, r5.w
    mul_pp r11.xyz, r4.yzyw, r4.yzww
    mad_pp r4.x, r4.x, r4.x, -r11.x
    mul_pp r11.xyw, r11.y, c57.xyzz
    mul_pp r11.xyw, r11, c2.z
    mov r12.yw, c2
    mul_pp r12.xyz, r12.y, c59
    mad_pp r11.xyw, r12.xyzz, r4.x, r11
    mad_pp r11.xyw, c51.xyzz, r12.w, r11
    mov r4.x, c7.x
    mad_pp r11.xyw, c57.xyzz, -r4.x, r11
    mul_pp r12.xy, r4.z, r4.ywzw
    mul_pp r12.yzw, r12.y, c58.xxyz
    mad_pp r12.yzw, c55.xxyz, r11.z, r12
    mad_pp r12.xyz, c56, r12.x, r12.yzww
    mad_pp r11.xyz, r12, c7.y, r11.xyww
    mul_pp r12.xyz, r4.y, c52
    mad_pp r4.xyw, c54.xyzz, r4.w, r12.xyzz
    mad_pp r4.xyz, c53, r4.z, r4.xyww
    mad_pp r4.xyz, r4, c7.z, r11
    mul_pp r4.xyz, r4, c73.x
    mul_pp r4.xyz, r4, c50
    add_pp r4.xyz, r4, r4
    mov_sat_pp r11.xyz, c65
    mad_pp r11.xyz, r11, r11, r4
    mov_sat_pp r12.xyz, c43
    mad_pp r11.xyz, r12, r12, r11
    dp3_pp r4.w, -r6, r5
    abs_sat_pp r5.w, r4.w
    mad_pp r12.x, r4.w, c6.y, c6.z
    add r4.w, -r5.w, c0.y
    mul r5.w, r4.w, r4.w
    mul r5.w, r5.w, r5.w
    mul_pp r4.w, r4.w, r5.w
    lrp_sat_pp r5.w, r4.w, r0.y, c71.x
    mad_pp r4.w, r4.w, -c1.x, -c1.x
    mul_pp r13.xyz, r5.w, c70
    texld_pp r14, v5, s4
    mad_sat_pp r4.xyz, r13, r4, r14
    mul_pp r4.xyz, r4, r4
    mul_pp r11.xyz, r11, r4
    mul_pp r11.xyz, r2.w, r11
    mad_pp r4.xyz, r8, r4, r11
    max_pp r8.xyz, r4, c6.x
    rsq_pp r2.w, r8.x
    rcp_pp r4.x, r2.w
    rsq_pp r2.w, r8.y
    rsq_pp r5.w, r8.z
    rcp_pp r4.z, r5.w
    rcp_pp r4.y, r2.w
    dp3 r2.w, r6, r5
    add r2.w, r2.w, r2.w
    mad_pp r5.xyz, r5, -r2.w, r6
    texld_pp r6, r5, s10
    texld_pp r8, r5, s2
    lrp_pp r11.xyz, c69.x, r6, r8
    mul_pp r2.w, r3.y, c77.y
    mul_pp r2.w, r4.w, r2.w
    mul_pp r2.w, r2.w, c75.x
    mul_pp r2.w, r0.x, r2.w
    mul_pp r6.xyz, r11, r2.w
    mul_pp r6.xyz, r1.w, r6
    mad_pp r8.xyz, v0, r4, r6
    mul_pp r4.xyz, r4, v0
    mov_sat_pp r6.xyz, r6
    mad_pp r4.xyz, r4, -r6, r8
    dp3_sat_pp r1.w, r5, -r2
    add r2.x, r1.w, -c1.z
    log_pp r1.w, r1.w
    cmp_pp r1.w, r2.x, r1.w, c3.w
    mul_pp r1.w, r1.z, r1.w
    exp_pp r1.w, r1.w
    mul_pp r2.xyz, r3.xzww, r1.w
    mul_pp r2.xyz, r1.y, r2
    dp3_sat_pp r1.y, r5, -c45
    dp3_sat_pp r1.w, r5, -r7.xzww
    add r2.w, r1.y, -c1.z
    log_pp r1.y, r1.y
    cmp_pp r1.y, r2.w, r1.y, c3.w
    mul_pp r1.y, r1.z, r1.y
    exp_pp r1.y, r1.y
    mul_pp r3.xyz, r1.y, c46
    mad_pp r2.xyz, r3, r1.x, r2
    add r1.x, r1.w, -c1.z
    log_pp r1.y, r1.w
    cmp_pp r1.x, r1.x, r1.y, c3.w
    mul_pp r1.x, r1.z, r1.x
    exp_pp r1.x, r1.x
    mad_pp r1.xyz, r9, r1.x, r2
    texld_pp r2, v5, s7
    mov_sat_pp r2.xyz, r2
    mul_pp r2.xyz, r2, r2
    mul_pp r1.xyz, r1, r2
    lrp_sat_pp r1.w, r0.x, r0.y, c66.x
    mul_pp r1.xyz, r1, r1.w
    max_pp r2.xyz, r1, c6.x
    rsq_pp r0.x, r2.x
    rcp_pp r1.x, r0.x
    rsq_pp r0.x, r2.y
    rsq_pp r0.y, r2.z
    rcp_pp r1.z, r0.y
    rcp_pp r1.y, r0.x
    mad_pp r1.xyz, r1, v0, r4
    dp3_pp r0.x, c43, r10
    mad_pp r0.x, r0.z, -c0.w, r0.x
    mov r12.y, -c1.x
    texld_pp r2, r12, s1
    texld_pp r3, r12, s3
    mov_sat_pp r3.xyz, r3
    mul_pp r3.xyz, r3, v0
    mov_sat_pp r2.xyz, r2
    mul_pp r2.xyz, r2, v0
    mul_pp r0.yzw, r0.w, r2.xxyz
    mad_pp r0.xyz, r0.yzww, r0.x, r1
    mad_pp r0.xyz, r3, c74, r0
    min_pp r1.xyz, c72.x, r0
    min_sat_pp r0.x, c68.w, v6.w
    lrp_pp r2.xyz, r0.x, c68, r1
    texld_pp r0, v5.zwzw, s6
    mov_pp r2.w, r0.x
    mul_pp r0, r2, c79
    mad_pp r0.xyz, r0, c64.x, c64.y
    mov_pp oC0.w, r0.w
    mul_pp oC0.xyz, r0, c64.z
	// disable
		mov oC0.xyzw, c5.yyyy		

// approximately 364 instruction slots used (18 texture, 346 arithmetic)
 